package com.pine.common.threadpool;

import lombok.Builder;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.concurrent.TimeUnit;

/**
 * 线程池配置
 *
 * @author pine manage
 * @since 2024-08-28
 */
@Data
@Accessors(chain = true)
@Builder(toBuilder = true)
public class ThreadPoolConfig {

    /**
     * 最大线程数
     */
    private Integer maximumPoolSize;

    /**
     * 核心线程数：
     */
    private Integer corePoolSize;

    /**
     * 线程存活时间（非核心线程）
     */
    private Long keepAliveTime;

    /**
     * 线程存活时间（非核心线程）单位
     */
    private TimeUnit keepAliveTimeUnit;

    /**
     * 阻塞队列容量
     */
    private Integer blockingQueueCapacity;

    /**
     * 拒绝策略编码
     */
    private String rejectedPolicyCode;
}
